The present invention is directed to a method for controlling a slave processor in the processing of a variable amount of information upon occurrence of a predetermined event. In particular, the present invention relates to controlling a graphics processor to complete a series of requests upon initiation of a particular time, while placing a minimum burden on the master or controlling processor.
In computing, there is a class of operations which must be performed from start to finish within a fixed real time interval. For scan based graphics display devices, one such interval is the vertical retrace interval. Operations which must be done during this vertical retrace period are those which affect the display, and are not to be seen until they are completed. It may be undesirable to have a partially completed operation displayed.
In order to avoid partial completion of the processing, the processing must begin within a certain time after the beginning of the interval. Thus a sufficient time within the interval is allotted to the processor to complete processing. In order that an operation can be completed, it is necessary that the data associated with that operation all be available to the processor. The processor itself must have an adequate bandwidth to process the required amount of data within the time interval.
One way for a master to write some number of data words to a slave processor and have the processing completed within a given time interval shall now be described. The master processor may wait until the slave processor goes idle so that it is in a known state. The master then stops the slave processor so that it will not process any data it receives until started again by the master. The master sends the slave all data to be processed during the given time interval. The master then detects the beginning of the interval by either polling or an interrupt. The master then explicitly starts the slave processor to process the data. The slave processes the data at its maximum rate because it has available all the data necessary upon starting the processing. As such, the processing may be accomplished within the time interval.